package com.ipartek.formacion.gestformwww.controlador;

import com.ipartek.formacion.gestformwww.modelo.ModeloCurso;
import com.ipartek.formacion.gestformwww.modelo.ModeloEntrega;
import com.ipartek.formacion.gestformwww.modelo.beans.Entrega;
import com.ipartek.formacion.gestformwww.modelo.beans.Curso;

import com.ipartek.formacion.gestformwww.modelo.beans.excepciones.GestorFormacionExcepcion;
import java.util.ArrayList;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Karmele y Xarles
 *
 */
public class ListarEntregaAccion  implements Accion{
/**
 * Descripción: ejecuta la acción de listado de los alumnos
 * @param servlet
 * @param request
 * @param response
 * @return devuelve el router que dirige a la página que corresponda (a Inicio o a Principal)
 */
    public AccionRouter ejecuta(HttpServlet servlet, HttpServletRequest request, HttpServletResponse response) {
        HttpSession sesion = request.getSession(false);
        AccionRouter router = null;
        ModeloEntrega modelo = (ModeloEntrega) servlet.getServletContext().getAttribute("ModeloEntrega");
        ModeloCurso modeloCurso=(ModeloCurso) servlet.getServletContext().getAttribute("ModeloCurso");
        Curso curso = new Curso();
        int idCurso;
        ResourceBundle bundle = (ResourceBundle) servlet.getServletContext().getAttribute("acciones-mapeo");
        if (sesion.getAttribute("usuario") != null) {


            request.setAttribute("contenido-curso", "lista-entrega");
            idCurso = Integer.parseInt(request.getParameter("idCurso"));

            ArrayList<Entrega> entrega=new ArrayList<Entrega>();
            try {
                curso = modeloCurso.visualizarCurso(idCurso);
                entrega = modelo.listaEntregas(curso.getCurId());

            } catch (GestorFormacionExcepcion ex) {
                Logger.getLogger(ListarAlumnoAccion.class.getName()).log(Level.SEVERE, null, ex);
                sesion.setAttribute("excepciones", ex.getMessage());
            }
            request.setAttribute("listaEntregas", entrega);

            router = new AccionRouter("principal");
        } else {
            router = new AccionRouter("inicio", false);
        }
        return router;
    }
}
